package com.bjpowernode.validation.annotation;

import com.bjpowernode.validation.validated.PasswordConstraintValidator;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;

import java.lang.annotation.*;

/**
 * 自定义密码验证的注解
 *
 */
@Documented //生成java doc文档的时候使用
@Target({ElementType.FIELD}) //注解只能写在属性字段
@Retention(RetentionPolicy.RUNTIME) //注解在运行的时候生效
@Constraint(
        validatedBy = {PasswordConstraintValidator.class} //用哪个验证器类来验证
)
public @interface Password {

    //密码的最小长度
    int min() default 0;

    //密码的最大长度
    int max() default Integer.MAX_VALUE;

    String message() default "";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
}
